package com.kotasoft.ejemplocxf.service;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.springframework.stereotype.Service;

import com.kotasoft.ejemplocxf.dao.PersonaDAO;
import com.kotasoft.ejemplocxf.datamodel.Persona;

@Service("ejemplo")
@Path("/ejemplo")
public class ServicioEjemplo {

	private String mensaje = "Mensaje por defecto!";
	private PersonaDAO personaDAO = new PersonaDAO();

	@GET
	@Produces("application/json")
	public String getCadenaEjemplo() throws JSONException {
		return mensaje;
	}
	
	@POST
	public void setCadenaEjemplo(JSONObject jsonObject) throws JSONException {
		this.mensaje = jsonObject.getString("mensaje");
	}
	
	@GET
	@Path("/persona/{nombre}")
	@Produces("application/json")
	public Persona getPersona(@PathParam("nombre") String nombre) {
		return personaDAO.getPersona(nombre);
	}
	
	@POST
	@Path("/persona")
	@Consumes("application/json")
	public void addPersona(Persona persona) {
		personaDAO.addPersona(persona);
	}
}
